/**
 * 系统角色修改js
 */
var comValidform=null;
var returnStatus=false;
var sysRoleUpdate={
	dataCache:null,
	key:null,
		
	startEvent:function(){
		sysRoleUpdate.showInfoById();
		
		comValidform=$(".com-addForm").Validform({
			tiptype:2,
			tipSweep:true,
			beforeSubmit:function(curform){
				var checkedId='';
				$('.com-addForm').find('input:checkbox[name="moduleList"]:checked').each(function(){
					var checkedVal=$(this).val();
					checkedId+=checkedVal.split(':')[0]+',';
				});
				if(checkedId!='')
					checkedId=checkedId.substring(0,checkedId.length-1);
				$('.com-addForm input[name="sysModuleIds"]').val(checkedId);
				
				var url = 'mgr/SysRoleCtrl/updateSysRole';
				var params = jsUtils.serializeJson($('.com-addForm'));
				delete params.moduleList;
				
				var cb = function(data){
					alert(data.msg);
					//成功返回
					if(data.resultCode==200){
						localStorage.removeItem(sysRoleUpdate.key)
						//关闭窗口并刷新数据
						art.dialog.close();
						returnStatus=true;
					}
				};
				sendApiNoLoadSync(url, params, cb, 'POST');
				return false;
			}
		});
	},
	
	showModule:function(){
		//获取所有模块
		var url ='mgr/SysModuleCtrl/getSysModuleList';
		var params={
			'curPage':0,
			'pageSize':9999
		};
		var cb = function(data){
			sysRoleUpdate.dataCache=data.result;
			var modulesCache=sysRoleUpdate.dataCache;
			var tr='';
			for(var i=0;i<modulesCache.length;i++){
				if(i%3==0){
					tr+='<tr style="height: 25px;">';
				}
				var id=modulesCache[i].sysModule.id;
				var name=modulesCache[i].sysModule.name;
				tr+='<td><input type="checkbox" name="moduleList" value="'+id+':'+name+'" />'+name+'</td>';
				if(i%3==2){
					tr+='</tr>';
				}
			}
			$('#moduleTable').append(tr);
			
			var checkedVal=$('#com-addForm input[name="sysModuleIds"]').val();
			var selectDiv=$('#moduleTable');
			if(checkedVal!=''){
				if(checkedVal.indexOf(',')!=-1){
					var checkedVals=checkedVal.split(',');
					for(var i=0;i<checkedVals.length;i++){
						selectDiv.find('input:checkbox[name="moduleList"]').each(function(){
							if(checkedVals[i]==$(this).val().split(':')[0]){
								$(this).prop('checked',true);
							}
						});
					}
				}else{
					selectDiv.find('input:checkbox[name="moduleList"]').each(function(){
						if(checkedVal==$(this).val().split(':')[0]){
							$(this).prop('checked',true);
						}
					});
				}	
			}
		};
		sendApiNoLoad(url, params, cb, 'POST');
	},
	
	showInfoById:function(){
		var lokId=art.dialog.data('id');  //修改id
		sysRoleUpdate.key = lokId + "_SysRole_Key";
		var singleObj = eval('(' + localStorage.getItem(sysRoleUpdate.key) + ')');
		 
		var roleModulesCache = singleObj.sysRoleModuleList;
		
		var moduleId = "";
		for(var i=0;i<roleModulesCache.length;i++){
			moduleId+= roleModulesCache[i].moduleId+',';
		}
		$('#com-addForm input[name="id"]').val(singleObj.sysRole.id)
		$('#com-addForm input[name="name"]').val(singleObj.sysRole.name)
		$('#com-addForm textarea[name="desc"]').val(singleObj.sysRole.desc)
		$('#com-addForm input[name="sysModuleIds"]').val(moduleId);
		sysRoleUpdate.showModule();

	},
	
	init:function(){
		sysRoleUpdate.startEvent();
	}
}
$(document).ready(function() {
	sysRoleUpdate.init();
});
function submitForm(){
	comValidform.submitForm();
	return returnStatus;
}